Skip to content

Refactor doxygen xml parser (#56084)#56084

Closed
j-piasecki wants to merge 12 commits intofacebook:mainfrom
j-piasecki:export-D96455723
Closed

Refactor doxygen xml parser (#56084)#56084
j-piasecki wants to merge 12 commits intofacebook:mainfrom
j-piasecki:export-D96455723

Conversation

@j-piasecki
Copy link
Contributor

@j-piasecki j-piasecki commented Mar 13, 2026

Summary:

Changelog: [Internal]

Replaces a wall of if-else statements with a map (compound_type -> parser method).

Reviewed By: cipolleschi

Differential Revision: D96455723

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 13, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 13, 2026

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96455723.

Jakub Piasecki and others added 12 commits March 18, 2026 05:23
Summary:
Changelog: [Internal]

Adds support for templates in variable declaration to the c++ API snapshot generator

Differential Revision: D96279463
Summary:
Changelog: [Internal]

Fixes handling of member function pointers in the C++ Api snapshot.

Differential Revision: D96279461
Summary:
Changelog: [Internal]

Fixes qualification of unscoped enum values used as template specialization arguments.

Differential Revision: D96279462
Summary:
Changelog: [Internal]

Adds `--view` argument to the snapshot generator, which allows to generate a single snapshot view instead of all of them.

Differential Revision: D96280524
Summary:
Changelog: [Internal]

Splits `member.py` into multiple smaller files, each containing single member definition.

Differential Revision: D96282653
Summary:
Changelog: [Internal]

Splits `scope.py` into multiple smaller files, each containing a separate defitnition.

Differential Revision: D96284004
Summary:
Changelog: [Internal]

Extracts the duplicated handling of inheritance and base classes to a separate, reusable class.

Differential Revision: D96287394
Summary:
Changelog: [Internal]

Updates the parser to extract the template specializations from name string in order to avoid repeated operations on the name string.

Differential Revision: D96303732
Summary:
Changelog: [Internal]

Updates the C++ API snapshot generator to extract specializations from name when a member is created, instead of relying on the one stored in the name string.

It also makes out-of-class definitions of members to be skipped in the snapshot as those were essentially duplicated between their declaration inside the class, and the initialization outside of it.

Differential Revision: D96303740
Summary:
Changelog: [Internal]

Removes direct calls to `rm` in the snapshot generator

Differential Revision: D96455685
Summary:
Changelog: [Internal]

Refactors the `__main__.py` file of the snapshot generator:
- moves doxygen related logic to a separate file
- unifies snapshot generation branches
- reduces duplication

Differential Revision: D96455701
Summary:
Pull Request resolved: facebook#56084

Changelog: [Internal]

Replaces a wall of if-else statements with a map (compound_type -> parser method).

Reviewed By: cipolleschi

Differential Revision: D96455723
@meta-codesync meta-codesync bot changed the title Refactor doxygen xml parser Refactor doxygen xml parser (#56084) Mar 18, 2026
@meta-codesync meta-codesync bot closed this in 3a14967 Mar 18, 2026
@facebook-github-tools facebook-github-tools bot added the Merged This PR has been merged. label Mar 18, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 18, 2026

This pull request has been merged in 3a14967.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants